// -*- coding: utf-8 -*- 
/**
 * Project: AlgorithmsLearn
 *
 * @author: yanking
 * Create time: 2022-03-20 12:11
 * IDE: IntelliJ IDEA
 * Introduction:
 */
package com.LeetCodeT.ArraysTrain;

import java.util.ArrayList;
import java.util.List;

public class FindDisappearedNumbers {
    /**
     * 找到给定数组中缺失的数字
     *
     * @param nums: 不连续的有重复数据的数组 + 可以使用原地hash解决问题
     * @return :由缺失数字组成的列表
     */
    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> res = new ArrayList<Integer>();
        boolean[] isExits = new boolean[nums.length];
        for (int i = 0; i < nums.length; i++) {
            isExits[nums[i] - 1] = true;
        }
        for (int i = 0; i < isExits.length; i++) {
            if (!isExits[i]) {
                res.add(i + 1);
            }
        }
        return res;
    }
}
